<?php

	$tabela_max = 15;
	$tolerancia = 10;

	include_once("qvoipm.php"); 
	include_once("pagina.php");
	
	$banco = new QVOIPM();

	$index = new Pagina("Pacotes de QOS da Chamada");	
	
	$index->adicionarCSS('chamada.css');
	$index->adicionarJS('mktree.js');
	
	$index->inicio();

	if ($_GET['id']) {
		$banco->getChamadaFromID($_GET['id']);
	}
	else {
		/* Verifica data de inicio e fim para pegar as chamadas */
		$inicio = ($_GET['inicioS'])? strtotime($_GET['inicioS']) : NULL;
		$fim = ($_GET['fimS'])? strtotime($_GET['fimS']) : NULL;
		$inicio = ($_GET['inicio'])? ($_GET['inicio']) : $inicio;
		$fim = ($_GET['fim'])? ($_GET['fim']) : $fim;

		if ($inicio && $fim)
			$banco->getChamadasFromUntil($inicio, $fim);
		else
			die("Esta pagina nao esta associada a nenhuma chamada.");
	}

	$result = $banco->getResult();
	$data_inicio = strtotime($result[4]);
	$id = $result['id'];

	/* Imprime dados da chamada */
	echo "<div id='chamada'>\n";

	echo "\t<ul id='tipos'>\n";
	echo "\t\t<li><a href='chamada.php?id=" . $id . "&tipo=fatorR'>Fator-R</a></li>\n";
	echo "\t\t<li><a href='chamada.php?id=" . $id . "&tipo=perda'>Perda</a></li>\n";
	echo "\t\t<li><a href='chamada.php?id=" . $id . "&tipo=atraso'>Atraso</a></li>\n";
	echo "\t\t<li><a href='chamada.php?id=" . $id . "&tipo=jitter'>Jitter</a></li>\n";
	echo "\t</ul>\n";

	echo "\t<img src='graph_qualidade.php?id=" . $id . "&tipo=" . (($_GET['tipo'])? $_GET['tipo'] : "fatorR") . "'/a><br>\n";
	echo "\tChamada de " . $result[1] . " para " . $result[2] . " com qualidade monitorada a cada " . $result['frequencia'] . " ms";
		
		if (! $result['aberta'])
		{
			echo ", iniciada em " . date("d/n/Y H:i:s", $data_inicio) . " e terminada em " . date("d/n/Y H:i:s", strtotime($result[5])) . "\n";
		}
		else if ($data_inicio + ($result['frequencia'] * ($result['nPacotes']+$tolerancia))/1000 < time())
		{
			echo " iniciada em " . date("d/n/Y H:i:s", $data_inicio) . " e terminada anormalmente em " .
				date("d/n/Y H:i:s",  $data_inicio + ($result['frequencia'] * $result['nPacotes'])/1000). "\n";			
		}
		else
		{
			echo " iniciada em " . date("d/n/Y H:i:s", $data_inicio) . "\n";
		}

	echo "</div>\n";

	/* Imprime lista de pacotes da chamada */
	$banco->getPacotesFromChamada($id);
	
	echo "<table id='pacotes'>\n";

	/* cabecalho */
	echo "\t<tr class='destaque' >\n";
	echo "\t\t\t<td>codec</td>\n";
	echo "\t\t\t<td>jitter</td>\n";
	echo "\t\t\t<td>atraso</td>\n";
	echo "\t\t\t<td>perda</td>\n";
	echo "\t\t\t<td>fator-R</td>\n";
	echo "\t</tr>\n";

	/* medias */
	if ($result['nPacotes'] > 0)
	{
		echo "\t<tr class='destaque' >\n";
		echo "\t\t\t<td> - </td>\n";
		echo "\t\t\t<td>" . $result['sJitter']/$result['nPacotes'] . "</td>\n";
		echo "\t\t\t<td>" . $result['sAtraso']/$result['nPacotes'] . "</td>\n";
		echo "\t\t\t<td>" . $result['sPerda']/$result['nPacotes'] . "</td>\n";
		echo "\t\t\t<td>" . $result['sFatorR']/$result['nPacotes'] . "</td>\n";
		echo "\t</tr>\n";
	}

	$ultimo_codec = "";

	while ($result = $banco->getResult())
	{
		echo "\t<tr>\n";
		echo "\t\t\t<td>" . (($result[1]==$ultimo_codec)? "." : $result[1]) . "</td>\n";
		echo "\t\t\t<td>$result[2]</td>\n";
		echo "\t\t\t<td>$result[3]</td>\n";
		echo "\t\t\t<td>$result[4]</td>\n";
		echo "\t\t\t<td>$result[5]</td>\n";
		echo "\t</tr>\n";

		$ultimo_codec = $result[1];
	}

	echo "</table>\n";
	$index->fim();

?>
